#ifndef TRANSMISSAOARQUIVO_H
#define TRANSMISSAOARQUIVO_H

#include <QObject>
#include <QFile>
#include <QList>

#include "peer.h"
#include "fileitem.h"

class TransmissaoArquivo : public QObject
{

    Q_OBJECT

    public:

        TransmissaoArquivo(FileItem* item);
        void iniciarTransmissao();

    signals:

        void transmissaoFinalizada(QString nome_arquivo);

    public slots:

        void salvarArquivo();
        void peerTerminouCalculo();
        void peerFinalizouTransmissao();

    private:

        QFile* file;
        QList<Peer*> fontes;
        FileItem* item;
        bool calculosIniciados;
        bool gravacaoIniciada;
};

#endif // TRANSMISSAOARQUIVO_H
